package com.xhwl.data.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xhwl.common.dto.cent.sdata.RoleDetailDTO;
import com.xhwl.common.pojo.cent.sdata.Role;
import com.xhwl.common.query.cent.sdata.RoleQuery;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @description: 角色
 * @author:
 * @create: 2020-11-25
 **/
@Repository
public interface IRoleDao extends BaseMapper<Role> {


    /**
     * 获取业务角色list ，当前项目相关的角色  （包括企业级角色、项目级角色 ，其余不参与业务）
     * @param roleQuery
     * @return
     */
   List<RoleDetailDTO> getCurrentProjectRelatedList(@Param("roleQuery") RoleQuery roleQuery);

    /**
     * 批量新增初始化的内置普通角色
     * @param list
     */
   void initializeRoleBatch(List<Role> list);


    /**
     * 内部查询角色数据使用
     * @param roleQuery
     * @return
     */
   List<Role> getList(@Param("roleQuery") RoleQuery roleQuery);


    /**
     * 内部查询角色数据使用 分页
     * @param roleQuery
     * @return
     */
    Page<Role> getPageList(Page page,@Param("roleQuery") RoleQuery roleQuery);

}
